/**
 * Author:Vinsea.
 * CreateDate:2019/2/28 10:42.
 * Describe:regular expression
 */

const regExps = [
  /**
   * 用户名
   * 字母，数字，下划线，减号
   */
  {
    id: 'username',
    name: '用户名',
    reg: /^[a-zA-Z0-9_-]+$/,
    msg: '该项数据只能包含字母，数字，下划线，减号'
  },

  /**
   * 密码
   * 以字母开头，只包含字母、数字和下划线
   */
  {
    id: 'password',
    name: '密码',
    reg: /^[a-zA-Z]\w+$/,
    msg: '该项数据只能以字母开头，含字母、数字和下划线'
  },

  /**
   * 邮箱
   */
  {
    id: 'email',
    name: '邮箱',
    reg: /^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$/,
    msg: '请填写正确的邮箱格式'
  },

  /**
   * 手机号
   * 时间截止为：2018年1月11日
   * 移动号段：134 135 136 137 138 139 147 148 150 151 152 157 158 159 172 178 182 183 184 187 188 198
   * 联通号段：130 131 132 145 146 155 156 166 171 175 176 185 186
   * 电信号段：133 149 153 173 174 177 180 181 189 199
   * 虚拟运营商：170
   * 2020-11-23增加：140 141 144 162 165 167 190 191 192 193 195 196 197
   */
  {
    id: 'phoneNumber',
    name: '手机号',
    reg: /^(13[0-9]|14[01456789]|15[012356789]|16[2567]|17[0-8]|18[0-9]|19[012356789])[0-9]{8}$/,
    msg: '请填写正确的手机号'
  },

  /**
   * 一代身份证（15位）
   */
  {
    id: 'IDCard_1',
    name: '一代身份证',
    reg: /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/,
    msg: '请填写正确的一代身份证号码'
  },

  /**
   * 二代身份证
   */
  {
    id: 'IDCard_2',
    name: '二代身份证',
    reg: /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
    msg: '请填写正确的二代身份证号码'
  },

  /**
   * 日期格式（yyyy-MM-dd）
   */
  {
    id: 'date_YMD',
    name: '日期格式(yyyy-MM-dd)',
    reg: /^([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))$/,
    msg: '该项数据格式为：yyyy-MM-dd'
  },

  /**
   * 中文
   */
  {
    id: 'Chinese',
    name: '中文',
    reg: /^[\u4E00-\u9FA5]+$/,
    msg: '请填写汉字'
  },

  /**
   * IP
   */
  {
    id: 'IP',
    name: 'IP',
    reg: /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,
    msg: '请填写正确的IP地址'
  },

  /**
   * 邮编
   */
  {
    id: 'postCode',
    name: '邮编',
    reg: /^[1-9]{1}(\d+){5}$/,
    msg: '请填写正确的邮政编码'
  }
]
export default regExps
